Multi-program scheduling platform with priority tiers

ABSTRACT

A system and method for scheduling a plurality of event programs, including: for each event program, generating a program calendar that enables a corresponding program administrator to assign a priority tier to each of a set of event slots in the corresponding event program; for each event program, generating an administrator dashboard that enables the corresponding program administrator to assign a priority tier to each of a set of schedulees for the corresponding event program; and for each schedulee, generating a schedulee calendar that enables the corresponding schedulee to schedule only the event slots assigned a priority tier that match to the priority tier assigned to the corresponding schedulee.

This application is a continuation of U.S. patent application Ser. No.14/669,312 filed on 26 Mar. 2015.

BACKGROUND

Organizations, e.g., schools, businesses, government agencies, etc., canhold event programs that can be scheduled by interested individuals. Forexample, a professional school can hold an interview program forinterviewing applicants to the professional school. Similarly, abusinesses or other type of institution can hold an interview programfor interviewing job applicants. Interested individuals can schedule anevent program by communicating directly with the organization holdingthe event program. For example, professional school applicants canschedule interview slots in an interview program held by a professionalschool by communicating directly with the professional school. Aninterested individual can schedule with a number of a similar eventprograms. For example, medical students applying for residency positionscan schedule interview slots in a number of interview programs held by anumber of different residency programs in their specialty of choice bycommunicating directly with each residency program in the affiliatedinstitution.

SUMMARY

In general, in one aspect, the invention relates to a platform forscheduling a plurality of event programs. The platform can include: aprogram calendar module that generates a program calendar for each eventprogram, each program calendar enabling a corresponding programadministrator to assign a priority tier to each of a set of event slotsin the corresponding event program; a dashboard module that generates anadministrator dashboard for each event program, each administratordashboard enabling the corresponding program administrator to assign apriority tier to each of a set of schedulees for the corresponding eventprogram; and a schedulee calendar module that generates a scheduleecalendar for each schedulee, each schedulee calendar allowing thecorresponding schedulee to schedule only the event slots assigned apriority tier that matches to the priority tier assigned to thecorresponding schedulee.

In general, in another aspect, the invention relates to a method forscheduling a plurality of event programs. The method can include: foreach event program, generating a program calendar that enables acorresponding program administrator to assign a priority tier to each ofa set of event slots in the corresponding event program; for each eventprogram, generating an administrator dashboard that enables thecorresponding program administrator to assign a priority tier to each ofa set of schedulees for the corresponding event program; and for eachschedulee, generating a schedulee calendar that enables thecorresponding schedulee to schedule only the event slots assigned apriority tier that match to the priority tier assigned to thecorresponding schedulee.

Other aspects of the invention will be apparent from the followingdescription and the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention are illustrated by way of example,and not by way of limitation, in the figures of the accompanyingdrawings and in which like reference numerals refer to similar elements.

FIG. 1 shows a multi-program scheduling platform in one or moreembodiments.

FIG. 2 illustrates a program calendar in one or more embodiments.

FIG. 3 shows a user interface displayed on an administrator client thatenables a program administrator to create an event in a programcalendar.

FIG. 4 illustrates an administrator dashboard in one or moreembodiments.

FIG. 5 shows a popup menu that enables a program administrator to selectwhich of a set of parameters for a schedulee are to appear in a currenttable view.

FIG. 6 depicts information sharing among a set of program calendars andadministrator dashboards and a schedulee calendar in one or moreembodiments.

FIG. 7 illustrates a schedulee calendar in one or more embodiments.

FIG. 8 shows an updated program calendar in response to a scheduleeconfirmed status from a schedulee calendar.

FIG. 9 shows a view displayed when a program administrator selects “ViewDetails” in a popup view for a scheduled event.

FIG. 10 shows a “baseball card” view displayed when a programadministrator selects a schedulee link under event details in one ormore embodiments.

FIG. 11 shows an updated administrator dashboard in response to aschedulee confirmed status from a schedulee calendar.

FIG. 12 illustrates a print function available to a programadministrator via the actions button in an administrator dashboard.

FIG. 13 illustrates a method for scheduling a plurality of eventprograms in one or more embodiments.

FIG. 14 illustrates a computing system upon which portions of amulti-program scheduling platform can be implemented.

DETAILED DESCRIPTION

Reference will now be made in detail to the various embodiments of thepresent disclosure, examples of which are illustrated in theaccompanying drawings. Like elements in the various figures are denotedby like reference numerals for consistency. While described inconjunction with these embodiments, it will be understood that they arenot intended to limit the disclosure to these embodiments. On thecontrary, the disclosure is intended to cover alternatives,modifications and equivalents, which may be included within the spiritand scope of the disclosure as defined by the appended claims.Furthermore, in the following detailed description of the presentdisclosure, numerous specific details are set forth in order to providea thorough understanding of the present disclosure. However, it will beunderstood that the present disclosure may be practiced without thesespecific details. In other instances, well-known methods, procedures,components, have not been described in detail so as not to unnecessarilyobscure aspects of the present disclosure.

FIG. 1 shows a multi-program scheduling platform 100 in one or moreembodiments. The multi-program scheduling platform 100 enablesscheduling of multiple event programs. Each event program can beadministered by a respective program administrator 1-n. Event programscan be scheduled by a set of schedulees 1-m. The program administrators1-n and the schedulees 1-m access the multi-program scheduling platform100 via a network 140 using respective administrator clients 120-122 andschedulee clients 130-132.

Each event program can include a set of event slots. One or more of theschedulees 1-m may seek to schedule event slots in more than one eventprogram. The event programs can be similar programs associated withdifferent institutions. The event programs can be held at times of theyear that coincide with traditional operations of institutions, e.g. thetraditional school year for educational institutions or fiscal years forgovernment or business institutions. In one embodiment, the eventprograms are interview days offered by different residency programs andthe schedulees 1-m are fourth-year medical students seeking residencypositions.

The multi-program scheduling platform 100 includes a program calendarmodule 150 that generates a respective program calendar 1-n for eachevent program. The program calendars 1-n enable the respective programadministrators 1-n to assign a priority tier to each of a set of eventslots in their event program. For example, the program calendar 1enables the program administrator 1 to assign a priority tier to eachevent slots in the event program administered by the programadministrator 1.

The multi-program scheduling platform 100 includes a dashboard module152 that generates a respective administrator dashboard 1-n for eachevent program. The administrator dashboards 1-n enable the respectiveprogram administrators 1-n to assign a priority tier to each of theschedulees 1-m for the corresponding event program. For example, theadministrator dashboard 1 enables the program administrator 1 to assigna priority tier to each of the schedulees 1-m who has been selected forthe event program presided over by the program administer 1.

The multi-program scheduling platform 100 includes a schedulee calendarmodule 154 that generates a respective schedulee calendar 1-m for eachof the schedulees 1-m. Each schedulee calendar 1-m allows thecorresponding schedulee 1-m to schedule only the event slots assigned apriority tier that matches the priority tier assigned to thecorresponding schedulee 1-m. For example, the schedulee calendar 1allows the schedulee 1 to schedule only the event slots assigned apriority tier that matches to the priority tier assigned to theschedulee 1. Similarly, the schedulee calendar 2 allows the schedulee 2to schedule only the event slots assigned a priority tier that matchesto the priority tier assigned to the schedulee 2.

In one or more embodiments, the program calendars 1-n and theadministrator dashboards 1-n enable the program administrators 1-n toselect the priority tiers for the event slots and for the schedulees 1-mfrom among a predetermined set of priority tiers. In one or moreembodiments, the predetermined set of priority tiers can include apriority tier I, a priority tier II, and a priority tier III. An eventslot assigned to the priority tier I can be refereed to as a Tier Ievent slot. Similarly, event slots assigned to the priority tiers II andIII can be refereed to as Tier II and Tier III event slots,respectively. Likewise, schedulees assigned to the priority tiers I, II,and III can be refereed to as a Tier I schedulees, Tier II schedulees,and Tier III schedulees, respectively. In one or more embodiments, theschedulee calendars 1-m allow Tier I schedulees to schedule Tier I, II,and III event slots, and allow Tier II schedulees to schedule only TierII and Tier III event slots, and allow Tier III schedulees to scheduleonly Tier III event slots.

In one or more embodiments, the program calendars 1-n and theadministrator dashboards 1-n enable the program administrators 1-nassign an Exclusive Tier to the event slots and the schedulees 1-m. Theprogram calendars 1-m allow only the schedulees 1-m assigned to theExclusive Tier to schedule the events slots assigned to the ExclusiveTier. The Exclusive Tier can enable the program administrators 1-n toassign a special status to schedulees. For example, the administrator ofa residency program can assign a “Combined Pediatric Anesthesia” statusto particular applicants for their combined residency program so thatonly the applicants with the special combined status will be allowed tosign up for the special “Combined” event slots while other “regular”anesthesia applicants will not.

The program calendars 1-n and the administrator dashboards 1-n and theschedulee calendars 1-m can be implemented as web pages on themulti-program scheduling platform 100. The administrator clients 120-122and the schedulee clients 130-132 can run respective web browserapplication programs that enable the respective program administrators1-n and schedulees 1-m to log into the multi-program scheduling platform100 and access their respective program calendars 1-n and administratordashboards 1-n and schedulee calendars 1-m. Any one or more of theadministrator clients 120-122 or the schedulee clients 130-132 can be amobile device that runs a mobile app adapted to a mobile operatingsystem and adapted to access the respective program calendars 1-n andadministrator dashboards 1-n and schedulee calendars 1-m of themulti-program scheduling platform 100.

FIG. 2 illustrates the program calendar 1 in one or more embodiments.The program calendars 2-n may be implemented in a substantially similarmanner. The program administrator 1 can navigate to the program calendar1 by selecting a “Calendar” button in a navigation pane 210. Thenavigation pane 210 can be displayed on the administrator client 120 inthe login account of the program administrator 1 on the multi-programscheduling platform 100. If the administrator client 120 is, e.g., adesktop or laptop computer, then the program administrator 1 can use apointing device, e.g., a mouse, to select the buttons in the navigationpane 210. If the administrator client 120 is a mobile device then theprogram administrator 1 may touch select buttons in the navigation pane210 via a touchscreen interface to navigate to the program calendar 1.

The event program corresponding to the program calendar 1 in thisexample is an interview program for selecting applicants to the NYUMedical School Anesthesiology residency program. The programadministrator 1 who administers the scheduling of candidates for the NYUresidency program has created two events in the program calendar1—events on the 11th and 18th of February 2015. The programadministrator 1 can create events in the program calendar 1 byselecting, e.g., clicking or touching, the desired day in the programcalendar 1 rendered on the administrator client 120.

FIG. 3 shows a user interface 300 in one or more embodiments thatenables the program administrator 1 to create an event in the programcalendar 1. In this example, the event is the NYU residency programinterview day on 2/11/2015. The user interface 300 can be a window thatpops up in a web browser in response to the program administrator 1selecting the area of the program calendar 1 corresponding to 2/11/2015.The user interface 300 can be a segue view on a mobile device.

The user interface 300 includes a set of interface elements 320 thatenable the program administrator 1 to select a date and time for thecorresponding event. The user interface 300 includes an input field 330that enables the program administrator 1 to enter a title for thecorresponding event and an input field 332 that enables the programadministrator 1 to enter program information associated with thecorresponding event.

The user interface 300 includes a set of rocker switch interfaceelements 310-312 that enable the program administrator 1 to specify anumber of event slots in the corresponding event for each of a set ofpredetermined priority tiers—a Tier I, a Tier II, and a Tier III (romannumerals). For example, the interface element 310 enables the programadministrator 1 to specify the number of Tier I slots for thecorresponding event. The interface element 310 includes a “+” buttonthat when selected by the program administrator 1 increments the numberof Tier I slots and a “-” button that when selected decrements thenumber of Tier I slots. Similarly, the interface elements 311 and 312enable the program administrator 1 to specify the number of Tier II andTier III slots, respectively, for the corresponding event. In thisexample, the program administrator 1 specifies 7 Tier I Interview Slots,3 Tier II Interview Slots, and 5 Tier III Interview Slots for the NYUresidency program interview day of 2/11/2015.

FIG. 4 illustrates the administrator dashboard 1 in one or moreembodiments. The administrator dashboards 2-n may be implemented in asubstantially similar manner. The program administrator 1 can navigateto the administrator dashboard 1 by selecting an “Applicants” button inthe navigation pane 210.

The administrator dashboard 1 includes a table 420 that enables theprogram administrator 1 to organize and manipulate informationpertaining to the schedulees 1-m who have been selected for the eventprogram presided over by the program administrator 1. The administratordashboard 1 includes sets of bar graphs 430-432 that provide the programadministrator 1 with a graphical view of the information contained inthe table 420.

Each row of the table 420 holds a set of parameters associated with thecorresponding schedulee 1-m. The administrator dashboard 1 includes asettings button 450 with a popup menu that enables the programadministrator 1 to select, e.g., via checkboxes, which of a set ofpossible parameters for a schedulee are to appear in the current view ofthe table 420. In this example, the parameters selected via the settingsbutton 450 include first and last name, gender, a priority tier, anindication of whether the corresponding schedulee 1-m has been invitedto schedule, an indication of whether the corresponding schedulee 1-mhas already scheduled, an interview date (if applicable), a score, and arank.

FIG. 5 shows a popup menu 500 that enables the program administrator 1to select, e.g., via respective checkboxes, which of a set of parametersfor a schedulee are to appear in the current view of the table 420 inone or more embodiments. The program administrator 1 can check any ofthe boxes in the popup menu 500 and then view, sort, and select theschedulees in the table 420 based on the selected information.

Referring back to FIG. 4, the administrator dashboard 1 in one or moreembodiments includes a search field 442 that enables the programadministrator 1 to search the table 420 by name or by any otherparameter. The administrator dashboard 1 in one or more embodimentsincludes a button 444 with a popup menu that enables the programadministrator 1 to specify the number of rows to appear in the currentview of the table 420.

In one or more embodiments, the program administrator 1 can initializethe information in the table 420 by uploading a spreadsheet or othertype of file into the multi-program scheduling platform 100 from theadministrator client 120. The spreadsheet can contain names, genders,and other information pertaining the schedulees 1-m that have beenselected for the event program administered by the program administrator1. In this example, the table 420 is initialized with the schedulees 1-mwho have been selected as applicants for the NYU residency program andthe uploaded spreadsheet is derived from the Electronic ResidencyApplication System (ERAS).

The administrator dashboard 1 in one or more embodiments includes an addbutton 446 with popup menu that enables the program administrator 1 toselect an “Add Applicants” menu item or an “Upload Applicants” menuitem. If the program administrator 1 selects Upload Applicants, themulti-program scheduling platform 100 generates a dialog box thatenables the program administrator 1 to upload a spreadsheet or otherfile into the table 420 from the administrator client 120. If theprogram administrator 1 selects Add Applicants, the multi-programscheduling platform 100 adds an entry to the table 420 that the programadministrator 1 can fill manually.

The table 420 in one or more embodiments provides a set of sortfunctions so that when the program administrator 1 selects a columnheading, the rows of the table 420 automatically sort by the parametersin that column. For example, the program administrator 1 can select the“First Name” column heading to sort the rows of the table 420 by firstname in alphabetical order. Selecting the “First Name” column headingagain can sort in the reverse order. Similarly, the programadministrator 1 can select the “Rank” column heading to sort the rows ofthe table 420 by rank in ascending order and then select the “Rank”column heading again to sort in descending order.

The administrator dashboard 1 in one or more embodiments includes aselect button 440 with a popup menu that enables the programadministrator 1 to select one or more rows of the table 420. The popupmenu from the select button 440 in one or more embodiments includes an“All” menu item for selecting all of the rows in the table 420, a “None”menu item for deselecting all rows in the table 420, a “Tier I” menuitem for selecting all of the rows in the table 420 that specifypriority tier I in the Tier column, a “Tier II” menu item for selectingall of the rows in the table 420 that specify priority tier II in theTier column, a “Tier III” menu item for selecting all of the rows in thetable 420 that specify priority tier III in the Tier column, a “No Tier”menu item for selecting all of the rows in the table 420 that do notspecify a priority tier in the Tier column, a “Male” menu item forselecting all of the rows in the table 420 that specify Male in theGender column, and a “Female” menu item for selecting all of the rows inthe table 420 that specify Female in the Gender column.

The popup menu from the select button 440 in other embodiments caninclude selection options based on any of the parameters in the table420. The program administrator 1 can select rows in the table 420manually, e.g., by click or touch.

After selecting one or more rows of the table 420, the programadministrator 1 can perform a variety of actions on the selected rows ofthe table 420, in a batch mode, using an actions button 448 with popupmenu. In one or more embodiments, the popup menu for the actions button448 includes an “Assign Tier I” menu item, an “Assign Tier II” menuitem, and an “Assign Tier III” menu item which cause all of the rowscurrently selected in the table 420 to be assigned priority tier I, II,or III, respectively. The popup menu for the actions button 448 in oneor more embodiments can include an “Assign Exclusive Tier” menu item.

In one or more embodiments, the popup menu from the actions button 448includes an “Invite To Interview” menu item, which causes themulti-program scheduling platform 100 to send an invite to all of theschedulees 1-m who are currently selected in the table 420. An invitecan take the form of an email or other message to the correspondingschedulee 1-m. The email can include a token that links to a scheduleeaccount on the multi-program scheduling platform 100 including acorresponding schedulee calendar 1-m. In one or more embodiments, thetokens linked to the schedulees 1-m are associated with an AmericanAssociation of Medical Colleges (AAMC) ID number so that the schedulees1-m can be uniquely identified in the multi-program scheduling platform100.

In one or more embodiments, the popup menu from the actions button 448includes a “Send Email” menu item, which causes the multi-programscheduling platform 100 to send an email to all of the schedulees 1-mwho are currently selected in the table 420. In one or more embodiments,the popup menu from the actions button 448 includes a “Print” menu itemfor printing the currently selected rows of the table 420, e.g. using aprinter of the administrator client 120. In one or more embodiments, thepopup menu from the actions button 448 includes an “Edit” and a “Delete”menu item that enable the program administrator 1 edit and delete thecurrently selected rows in the table 420.

The bar graphs 430-432 provide a visual representation of the parametersfor the schedulees 1-m currently displayed in the table 420. The bargraphs 430-432 can facilitate the process of assigning priority tiers tothe schedulees 1-m. The bar graphs 430-432 can facilitate the process ofsending invites to the schedulees 1-m. The bar graphs 430-432 canfacilitate tracking the progress the entire scheduling process.

The bar graphs 430-432 can depict any of the parameters contained in thetable 420. In this example, the bar graphs 430 indicate the number ofmales in the current view of the table 420, the number of females in thecurrent view of the table 420, and the number of the schedulees 1-m inthe current view of the table 420 who are currently selected. The bargraphs 431 indicate the number of the schedulees 1-m in the current viewof the table 420 who have been sent invitations, the number who havescheduled, and the number who have been interviewed. The bar graphs 432indicate the number of schedulees 1-m in the current view of the table420 who have been assigned priority Tier I, priority Tier II, andpriority Tier III, or who have not been assigned a priority tier.

FIG. 6 depicts information sharing among the program calendars 1-n andadministrator dashboards 1-n and the schedulee calendar 1 in one or moreembodiments. Information sharing among the program calendars 1-n andadministrator dashboards 1-n and the schedulee calendars 2-m,respectively, can be substantially similar.

The schedulee calendar 1 obtains respective sets of event slot data 1-nfrom the program calendars 1-n. Each set of event slot data 1-n includesdate/time information for each of a set of events in the respectiveprogram calendar 1-n along with the number of event slots allocated toeach of the priority tiers. For example, the event slot data 1 specifies7 Tier I slots, 3 Tier II slots, and 5 Tier III slots, for the interviewday of 2/11/2015 created by the program administrator 1 as depicted inFIG. 3.

The schedulee calendar 1 obtains respective priority tiers 1-1 through1-n from the administrator dashboards 1-n. Each priority tier 1-1through 1-n is the priority tier for the corresponding schedulee 1-mspecified in the corresponding administrator dashboard 1-n. For example,the priority tier 1-1 is the priority tier assigned to the schedulee 1by the program administrator 1 via the table 420 in the administratordashboard 1 and the priority tier 1-2 is the priority tier assigned tothe schedulee 1 by the program administrator 2 via the administratordashboard 2.

The schedulee calendar 1 compares the priority tiers informationspecified in the event slot data 1-n to the priority tiers 1-1 through1-n to determine which of the event slots specified in the event slotdata 1-n will be available to the schedulee 1 in the schedulee calendar1. For example, if the schedulee 1 is John Thalamus listed in the table420 (FIG. 4) then the priority tier 1-1 specifies a priority tier=II andso the schedulee calendar 1 allows John Thalamus to schedule only theevent slots in the event slot data 1 assigned to priority tiers II orIII. John Thalamus will not be allowed to schedule any of the tier Islots specified in the event slot data 1.

The schedulee calendar 1 provides a schedulee 1 confirmed status back tothe administrator dashboard 1 and the program calendar 1 when theschedulee 1 schedules and confirms an event slot specified in the eventslot data 1. The administrator dashboard 1 updates the table 420 and theprogram calendar 1 updates its view in response to the schedulee 1confirmed status.

FIG. 7 illustrates the schedulee calendar 1 in one or more embodiments.The schedulee calendars 2-n may be implemented in a substantiallysimilar manner. The schedulee 1 can navigate to the schedulee calendar 1by selecting a “Calendar” button in a navigation pane 710 displayed onthe schedulee client 130. The navigation pane 710 can be displayed inthe login account of the schedulee 1 on the multi-program schedulingplatform 100.

The schedulee calendar 1 in this example displays the NYU Medical SchoolAnesthesiology events on the 11th and 18th of February 2015 because theschedulee 1, John Thalamus, listed in the table 420 has been sent aninvite for the corresponding event program. The schedulee calendar 1 inthis example also displays events for similar event programs at LoyolaUniversity and Univ. of Rochester because John Thalamus has also beensent invites for those event programs in the corresponding administratordashboards 2-n.

In this example, John Thalamus can use his corresponding scheduleeclient 130-132 to select, e.g., click on 2/11/2015 in the scheduleecalendar 1. In response a popup window can appear to allow John Thalamusto confirm that day. The schedulee calendar 1 allows John Thalamus toschedule that day because he is assigned Tier II and Tier II event slotsare still available. If all Tier II slots are taken when John Thalamusselects 2/11/2015 then the schedulee calendar 1 will allow John Thalamusto schedule one of the Tier III slots if still available.

FIG. 8 shows an updated program calendar 1 in response to schedulee 1confirmed status from the schedulee calendar 1. In this example, theschedulee 1 confirmed status indicates that the schedulee 1, JohnThalamus, has confirmed an event slot in the NYU Medical SchoolAnesthesiology event on the 11th of February 2015. In response, theprogram calendar 1 displays an indicator 810 on that day which indicatesto the program administrator 1 that “1” interview slot has beenconfirmed for that day. If one or more interview slots had previouslybeen confirmed for that day then the number in the indicator 810 isincremented by one in response to the schedulee 1 confirmed status. Theprogram administrator 1 can select the indicator 810 and a popup view820 appears. The program administrator 1 can select a “View Details”button in the popup view 820 for additional details.

FIG. 9 shows a view 900 displayed when the program administrator 1selects “View Details” in the popup view 820. The view 900 includes an“Applicants Signed Up” section that summarizes the schedulees 1-m signedup for each of the tiers I, II, and III for the corresponding event. Theprogram administrator 1 can select links, e.g. the John Thalamus link,to navigate to a page in the multi-program scheduling platform 100 thatprovides additional information for that schedulee 1-m. The view 900includes a “Distribution” section that provides bar graphs depictingparameters associated with the schedulees 1-m who have signed up, i.e.,confirmed, for the corresponding event.

FIG. 10 shows a “baseball card” view 1010 displayed over the view 900when the program administrator 1 selects the John Thalamus link underTier II in the view 900 in one or more embodiments. The view 1010provides a picture of the schedulee John Thalamus along with a set ofparameters pertaining to John Thalamus.

FIG. 11 shows an updated administrator dashboard 1 in response toschedulee 1 confirmed status from the schedulee calendar 1. TheScheduled and Interview Date columns of the table 420 corresponding tothe John Thalamus row now reflect his confirmed interview slot on the11th of February 2015. In addition, the bar graphs 431 reflect the newconfirmed status.

The event programs presided over by the program administrators 1-n canbe similar programs timed to a particular “season”. For example, aparticular time of the year can be, by tradition or necessity, the timewhen medical students apply to residency programs, or the time whenstudents apply for internships, or the time when college students applyto graduate schools, or the time when new graduates seek jobs incorporations or in government. The multi-program scheduling platform 100can provide centralized scheduling, a one stop shop, for large numbersof schedulees 1-m located anywhere in the world. The multi-programscheduling platform 100 can provide the program administrators 1-n theability to select schedulees, and to organize and manage theirschedulees, and to monitor the progress scheduling process, and tomodify the process based on the status feedback from the schedulees.

FIG. 12 illustrates the print function available to the programadministrator 1 via the actions button 448 in the administratordashboard 1. The print function prints a summary of each schedulee 1-mcurrently selected in the table 420. In this example, summaries forSally Amygdala and Mark Cerebellum are illustrated. The print functioncan include a dialog box that enables the program administrator 1 toselect, e.g., via checkboxes, which of the parameters from the table 420are to be included in a print.

FIG. 13 illustrates a method for scheduling a plurality of eventprograms in one or more embodiments. While the various steps in thisflowchart are presented and described sequentially, one of ordinaryskill will appreciate that some or all of the steps can be executed indifferent orders and some or all of the steps can be executed inparallel. Further, in one or more embodiments, one or more of the stepsdescribed below can be omitted, repeated, and/or performed in adifferent order. Accordingly, the specific arrangement of steps shown inFIG. 13 should not be construed as limiting the scope of the invention.

At step 1350, for each event program, a program calendar is generatedthat enables a corresponding program administrator to assign a prioritytier to each of a set of event slots in the corresponding event program.At step 1360, for each event program, an administrator dashboard isgenerated that enables the corresponding program administrator to assigna priority tier to each of a set of schedulees for the correspondingevent program. At step 1370, for each schedulee, a schedulee calendar isgenerated that enables the corresponding schedulee to schedule only theevent slots assigned a priority tier that match to the priority tierassigned to the corresponding schedulee.

The program calendars 1-n and the administrator dashboards 1-n and theschedulee calendars 1-m can be generated on computing systems, e.g.,servers, using web protocols so that they can be accessed and displayedon client devices using web browsers. The program calendars 1-n and theadministrator dashboards 1-n and the schedulee calendars 1-m can bedisplayed on client devices running a mobile app adapted to a mobileoperating system of the client devices 130-132. The program calendars1-n and the administrator dashboards 1-n and the schedulee calendars 1-mcan be generated using any combination of web protocols and mobile apps.

Embodiments of the invention may be implemented on a specializedcomputer system. Examples of such a computing system can include one ormore mobile devices (e.g., laptop computer, smart phone, personaldigital assistant, tablet computer, or other mobile device, gameconsole), desktop computers, servers, blades in a server chassis, or anyother type of computing device(s) that include at least the minimumprocessing power, memory, and input and output device(s) to perform oneor more embodiments of the invention.

FIG. 14 illustrates a computing system 1400 upon which portions of themulti-program scheduling platform 100 can be implemented. The programcalendar module 150, the dashboard module 152, and the scheduleecalendar module 154 along with associated login accounts and datastructures and logic can be implemented in code running on the computingsystem 1400. The administrator clients 120-122 and the schedulee clients130-132 can be implemented in code on similar mobile or desktop/laptopcomputing systems.

The computing system 1400 includes one or more computer processor(s)1402, associated memory 1404 (e.g., random access memory (RAM), cachememory, flash memory, etc.), one or more storage device(s) 1406 (e.g., ahard disk, an optical drive such as a compact disk (CD) drive or digitalversatile disk (DVD) drive, a flash memory stick, etc.), a bus 1416, andnumerous other elements and functionalities. The computer processor(s)1402 may be an integrated circuit for processing instructions. Forexample, the computer processor(s) may be one or more cores ormicro-cores of a processor. The computing system 1400 may also includeone or more input device(s), e.g., a touchscreen, keyboard 1410, mouse1412, microphone, touchpad, electronic pen, or any other type of inputdevice. Further, the computing system 1400 may include one or moremonitor device(s) 1408, such as a screen (e.g., a liquid crystal display(LCD), a plasma display, touchscreen, cathode ray tube (CRT) monitor,projector, or other display device), external storage, input for anelectric instrument, or any other output device. The computing system1400 may be connected to the network 140 (e.g., a local area network(LAN), a wide area network (WAN) such as the Internet, mobile network,or any other type of network) via a network adapter 1418.

While the foregoing disclosure sets forth various embodiments usingspecific diagrams, flowcharts, and examples, each diagram component,flowchart step, operation, and/or component described and/or illustratedherein may be implemented, individually and/or collectively, using arange of processes and components.

The process parameters and sequence of steps described and/orillustrated herein are given by way of example only. For example, whilethe steps illustrated and/or described herein may be shown or discussedin a particular order, these steps do not necessarily need to beperformed in the order illustrated or discussed. The various examplemethods described and/or illustrated herein may also omit one or more ofthe steps described or illustrated herein or include additional steps inaddition to those disclosed.

While the invention has been described with respect to a limited numberof embodiments, those skilled in the art, having benefit of thisdisclosure, will appreciate that other embodiments may be devised whichdo not depart from the scope of the invention as disclosed herein.

What is claimed is:
 1. A scheduling platform for a plurality of eventprograms, comprising: a program calendar mechanism for generating aprogram calendar for each event program including a user interface thatenables a respective program administrator to select a respectivepriority tier for each of a set of event slots in the respective eventprogram from among a set of predetermined priority tiers depicted in therespective user interface; a dashboard mechanism for generating anadministrator dashboard for each program administrator including a userinterface that enables the respective program administrator to select arespective priority tier for each of a set of schedulees of therespective event program from among the predetermined priority tiers;and a schedulee calendar mechanism for generating a respective scheduleecalendar for each schedulee by merging the event slots of the eventprograms into the schedulee calendars in response to the priority tiersof the event slots and the priority tiers of the schedulees such that,for each event slot, each schedulee calendar allows the respectiveschedulee to schedule the event slot only if the priority tier assignedto the event slot by the respective program administrator of the eventslot matches the priority tier assigned to the respective schedulee bythe respective program administrator of the event slot.
 2. Thescheduling platform of claim 1, wherein the predetermined priority tiersinclude an exclusive tier such that, for each event slot, each scheduleecalendar allows the respective schedulee to schedule the event slot onlyif the event slot is assigned the exclusive tier by the respectiveprogram administrator of the event slot and the respective schedulee isassigned the exclusive tier by the respective program administrator ofthe event slot.
 3. The scheduling platform of claim 1, wherein theadministrator dashboards enable each program administrator to select arespective view of a set of parameters pertaining to the respectiveschedulees such that the views enable the program administrators to sortthe respective schedulees by one or more of the parameters.
 4. Thescheduling platform of claim 3, wherein the views enable each programadministrator to individually select the schedulees in the respectiveview and select one of the predetermined priority tiers for assignmentto a currently selected schedulee in the respective view.
 5. Thescheduling platform of claim 3, wherein the views enable each programadministrator to select multiple of the schedulees in the respectiveview and select one of the predetermined priority tiers for assignmentto the multiple schedulees in a batch mode.
 6. The scheduling platformof claim 3, wherein the views enable each program administrator toindividually select the schedulees of the respective view and send aninvite to the respective currently selected schedulee.
 7. The schedulingplatform of claim 3, wherein the views enable each program administratorto select multiple of the schedulees in the respective view and send aninvite to each of the multiple schedulees in a batch mode.
 8. Thescheduling platform of claim 3, wherein each administrator dashboardincludes a set of bar graphs each visually depicting a subset of theparameters in the respective view.
 9. The scheduling platform of claim3, wherein each administrator dashboard includes a set of bar graphsvisually depicting a set of demographic information pertaining to theschedulees in the respective view.
 10. The scheduling platform of claim3, wherein each administrator dashboard includes a set of bar graphsvisually depicting the priority tiers assigned to the schedulees in therespective view.
 11. A method for scheduling a plurality of eventprograms, comprising: generating a program calendar for each eventprogram including a user interface that enables a respective programadministrator to select a respective priority tier for each of a set ofevent slots in the respective event program from among a set ofpredetermined priority tiers depicted in the respective user interface;generating an administrator dashboard for each program administratorincluding a user interface that enables the respective programadministrator to select a respective priority tier for each of a set ofschedulees of the respective event program from among the predeterminedpriority tiers; and generating a respective schedulee calendar for eachschedulee by merging the event slots of the event programs into theschedulee calendars in response to the priority tiers of the event slotsand the priority tiers of the schedulees such that, for each event slot,each schedulee calendar allows the respective schedulee to schedule theevent slot only if the priority tier assigned to the event slot by therespective program administrator of the event slot matches the prioritytier assigned to the respective schedulee by the respective programadministrator of the event slot.
 12. The method of claim 11, wherein thepredetermined priority tiers include an exclusive tier such that, foreach event slot, each schedulee calendar allows the respective scheduleeto schedule the event slot only if the event slot is assigned theexclusive tier by the respective program administrator of the event slotand the respective schedulee is assigned the exclusive tier by therespective program administrator of the event slot.
 13. The method ofclaim 11, wherein generating an administrator dashboard comprisesgenerating an administrator dashboard that enables the respectiveprogram administrator to select a view of a set of parameters pertainingto the respective schedulees such that the view enables the programadministrator to sort the respective schedulees by one or more of theparameters.
 14. The method of claim 13, wherein generating anadministrator dashboard comprises generating an administrator dashboardthat enables the respective program administrator to individually selectthe schedulees in the respective view and select one of thepredetermined priority tiers for assignment to a currently selectedschedulee.
 15. The method of claim 13, wherein generating anadministrator dashboard comprises generating an administrator dashboardthat enables the respective program administrator to select multiple ofthe schedulees in the respective view and select one of thepredetermined priority tiers for assignment to the multiple scheduleesin a batch mode.
 16. The method of claim 13, wherein generating anadministrator dashboard comprises generating an administrator dashboardthat enables the respective program administrator to individually selectthe schedulees of the respective view and send an invite to therespective currently selected schedulee.
 17. The method of claim 13,wherein generating an administrator dashboard comprises generating anadministrator dashboard that enables the respective programadministrator to select multiple of the schedulees in the respectiveview and send an invite to each of the multiple schedulees in a batchmode.
 18. The method of claim 13, wherein generating an administratordashboard comprises generating a set of bar graphs each visuallydepicting a subset of the parameters in the respective view.
 19. Themethod of claim 13, wherein generating an administrator dashboardcomprises generating a set of bar graphs visually depicting a set ofdemographic information pertaining to the schedulees in the respectiveview.
 20. The method of claim 13, wherein generating an administratordashboard comprises generating a set of bar graphs visually depictingthe priority tiers assigned to the schedulees in the respective view.